package com.css.zfzx.fwsjcj.modules.structure.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 高层结构
 * @date 2020/6/2 15:15
 */
@Entity
@Table(name = "fw_high_structure", schema = "fwsjcj", catalog = "")
public class FwHighStructureEntity {
    private String id;
    /**
     * 高层结构编号
     */
    private String highStructureNum;
    /**
     * 所属省
     */
    private String belongtoProvince;
    /**
     * 所属市
     */
    private String belongtoCity;
    /**
     * 所属区县
     */
    private String belongtoArea;
    /**
     * 所属街道
     */
    private String belongtoStreet;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 所属居委会
     */
    private String belongtoTown;
    /**
     * 建筑名称
     */
    private String buildingName;
    /**
     * 建造年代（70s以前,70s,80s,90s,00s,10s）
     */
    private String buildingAge;
    /**
     * 结构形式(框架结构、框剪结构、剪力墙结构、框筒结构、筒体结构、钢结构、其他结构)
     */
    private String structuralStyle;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    private String siteType;
    /**
     * 基础类型(满堂红、条形基础、砖基础、毛石片石卵石、其他)
     */
    private String baseType;
    /**
     * 设防标准(0（不设防）、6（VI度设防）、7（VII度设防）、8（VIII度设防）、9（IX度设防）)
     */
    private String fortifyStandard;
    /**
     * 自振周期（保留2位小数，单位：秒）
     */
    private Double naturalVibrationPeriod;
    /**
     * 规则程度(1（平立面均规则）、2（平面规则立面不规则）3（平面不规则立面规则）、4（平面立面均不规则）)
     */
    private String regularLevel;
    /**
     * 建筑面积
     */
    private Double buildingArea;
    /**
     * 建筑长度
     */
    private Double buildingLength;
    /**
     * 建筑宽度
     */
    private Double buildingWidth;
    /**
     * 层数
     */
    private Integer floorNum;
    /**
     * 地下室层数
     */
    private Integer basementFloorNum;
    /**
     * 地下室结构形式
     */
    private String basementStructuralStyle;
    /**
     * 裙房层数
     */
    private Integer skirtFloorNum;
    /**
     * 裙房结构形式
     */
    private String skirtStructuralStyle;
    /**
     * 建筑高度
     */
    private Double buildingHeight;
    /**
     * 柱混凝土强度等级
     */
    private String colConcreteStrengthGrade;
    /**
     * 主要柱截面尺寸
     */
    private String mainColSectionSize;
    /**
     * 主要梁截面尺寸
     */
    private String mainPurlinSectionSize;
    /**
     * 最大柱间距
     */
    private Double maxColSpace;
    /**
     * 最大梁跨度
     */
    private Double maxPurlinSpace;
    /**
     * 剪力墙最大间距
     */
    private Double maxShearwellSpace;
    /**
     * 剪力墙混凝土强度等级
     */
    private String shearwellConcreteStrengthGrade;
    /**
     * 剪力墙或混凝土尺寸
     */
    private String shearwellSize;
    /**
     * 屋盖类别（木屋盖、现浇屋盖、预制板、彩钢板、其他）
     */
    private String roofType;
    /**
     * 楼盖类别（木楼板、现浇楼板、预制板、其他）
     */
    private String floorType;
    /**
     * 填充墙体材质(普通砖、多孔砖、砌块、其他)
     */
    private String fillWallMaterial;
    /**
     * 填充墙砂浆类型(水泥砂浆、混合砂浆、泥浆)
     */
    private String fillWallMortarType;
    /**
     * 填充墙砂浆强度
     */
    private String fillWallMortarStrengthGrade;
    /**
     * 墙体厚度
     */
    private Double wellThick;
    /**
     * 梁柱现状(无开裂、有开裂、多处开裂)
     */
    private String beamSituation;
    /**
     * 填充墙现状(无明显裂缝、有明显裂缝、多处明显裂缝)
     */
    private String fillWellSituation;
    /**
     * 基础现状(无不均匀沉陷、有不均匀沉陷)
     */
    private String baseSituation;
    /**
     * 建筑造价/重置单价
     */
    private Double buildingCost;
    /**
     * 建筑照片
     */
    private String buildingPhoto;
    /**
     * 详细文档(收集建筑物图纸等详细设计资料并汇总成压缩文件)
     */
    private String detailFile;
    /**
     * 信息说明
     */
    private String msgIllustrate;
    /**
     * 审核状态
     */
    private String status;
    /**
     * 审核人
     */
    private String checkUser;
    /**
     * 审核意见
     */
    private String checkOpinion;
    private String createUser;
    /**
     * 数据采集人
     */
    private String collectUser;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private String delFlag;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 剪力墙厚度
     */
    private Double shearwellThickness;

    /**
     * 超级管理员退回意见
     * @return
     */
    private String superBackOpinion;
    /**
     * 省级退回意见
     * @return
     */
    private String provinceBackOpinion;
    @Basic
    @Column(name = "super_back_opinion")
    public String getSuperBackOpinion() {
        return superBackOpinion;
    }

    public void setSuperBackOpinion(String superBackOpinion) {
        this.superBackOpinion = superBackOpinion;
    }

    @Basic
    @Column(name = "province_back_opinion")
    public String getProvinceBackOpinion() {
        return provinceBackOpinion;
    }

    public void setProvinceBackOpinion(String provinceBackOpinion) {
        this.provinceBackOpinion = provinceBackOpinion;
    }

    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "high_structure_num")
    public String getHighStructureNum() {
        return highStructureNum;
    }

    public void setHighStructureNum(String highStructureNum) {
        this.highStructureNum = highStructureNum;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "belongto_street")
    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    @Basic
    @Column(name = "longitude")
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude")
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "belongto_town")
    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "building_age")
    public String getBuildingAge() {
        return buildingAge;
    }

    public void setBuildingAge(String buildingAge) {
        this.buildingAge = buildingAge;
    }

    @Basic
    @Column(name = "structural_style")
    public String getStructuralStyle() {
        return structuralStyle;
    }

    public void setStructuralStyle(String structuralStyle) {
        this.structuralStyle = structuralStyle;
    }

    @Basic
    @Column(name = "site_type")
    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    @Basic
    @Column(name = "base_type")
    public String getBaseType() {
        return baseType;
    }

    public void setBaseType(String baseType) {
        this.baseType = baseType;
    }

    @Basic
    @Column(name = "fortify_standard")
    public String getFortifyStandard() {
        return fortifyStandard;
    }

    public void setFortifyStandard(String fortifyStandard) {
        this.fortifyStandard = fortifyStandard;
    }

    @Basic
    @Column(name = "natural_vibration_period")
    public Double getNaturalVibrationPeriod() {
        return naturalVibrationPeriod;
    }

    public void setNaturalVibrationPeriod(Double naturalVibrationPeriod) {
        this.naturalVibrationPeriod = naturalVibrationPeriod;
    }

    @Basic
    @Column(name = "regular_level")
    public String getRegularLevel() {
        return regularLevel;
    }

    public void setRegularLevel(String regularLevel) {
        this.regularLevel = regularLevel;
    }

    @Basic
    @Column(name = "building_area")
    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    @Basic
    @Column(name = "building_length")
    public Double getBuildingLength() {
        return buildingLength;
    }

    public void setBuildingLength(Double buildingLength) {
        this.buildingLength = buildingLength;
    }

    @Basic
    @Column(name = "building_width")
    public Double getBuildingWidth() {
        return buildingWidth;
    }

    public void setBuildingWidth(Double buildingWidth) {
        this.buildingWidth = buildingWidth;
    }

    @Basic
    @Column(name = "floor_num")
    public Integer getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(Integer floorNum) {
        this.floorNum = floorNum;
    }

    @Basic
    @Column(name = "basement_floor_num")
    public Integer getBasementFloorNum() {
        return basementFloorNum;
    }

    public void setBasementFloorNum(Integer basementFloorNum) {
        this.basementFloorNum = basementFloorNum;
    }

    @Basic
    @Column(name = "basement_structural_style")
    public String getBasementStructuralStyle() {
        return basementStructuralStyle;
    }

    public void setBasementStructuralStyle(String basementStructuralStyle) {
        this.basementStructuralStyle = basementStructuralStyle;
    }

    @Basic
    @Column(name = "skirt_floor_num")
    public Integer getSkirtFloorNum() {
        return skirtFloorNum;
    }

    public void setSkirtFloorNum(Integer skirtFloorNum) {
        this.skirtFloorNum = skirtFloorNum;
    }

    @Basic
    @Column(name = "skirt_structural_style")
    public String getSkirtStructuralStyle() {
        return skirtStructuralStyle;
    }

    public void setSkirtStructuralStyle(String skirtStructuralStyle) {
        this.skirtStructuralStyle = skirtStructuralStyle;
    }

    @Basic
    @Column(name = "building_height")
    public Double getBuildingHeight() {
        return buildingHeight;
    }

    public void setBuildingHeight(Double buildingHeight) {
        this.buildingHeight = buildingHeight;
    }

    @Basic
    @Column(name = "col_concrete_strength_grade")
    public String getColConcreteStrengthGrade() {
        return colConcreteStrengthGrade;
    }

    public void setColConcreteStrengthGrade(String colConcreteStrengthGrade) {
        this.colConcreteStrengthGrade = colConcreteStrengthGrade;
    }

    @Basic
    @Column(name = "main_col_section_size")
    public String getMainColSectionSize() {
        return mainColSectionSize;
    }

    public void setMainColSectionSize(String mainColSectionSize) {
        this.mainColSectionSize = mainColSectionSize;
    }

    @Basic
    @Column(name = "main_purlin_section_size")
    public String getMainPurlinSectionSize() {
        return mainPurlinSectionSize;
    }

    public void setMainPurlinSectionSize(String mainPurlinSectionSize) {
        this.mainPurlinSectionSize = mainPurlinSectionSize;
    }

    @Basic
    @Column(name = "max_col_space")
    public Double getMaxColSpace() {
        return maxColSpace;
    }

    public void setMaxColSpace(Double maxColSpace) {
        this.maxColSpace = maxColSpace;
    }

    @Basic
    @Column(name = "max_purlin_space")
    public Double getMaxPurlinSpace() {
        return maxPurlinSpace;
    }

    public void setMaxPurlinSpace(Double maxPurlinSpace) {
        this.maxPurlinSpace = maxPurlinSpace;
    }

    @Basic
    @Column(name = "max_shearwell_space")
    public Double getMaxShearwellSpace() {
        return maxShearwellSpace;
    }

    public void setMaxShearwellSpace(Double maxShearwellSpace) {
        this.maxShearwellSpace = maxShearwellSpace;
    }

    @Basic
    @Column(name = "shearwell_concrete_strength_grade")
    public String getShearwellConcreteStrengthGrade() {
        return shearwellConcreteStrengthGrade;
    }

    public void setShearwellConcreteStrengthGrade(String shearwellConcreteStrengthGrade) {
        this.shearwellConcreteStrengthGrade = shearwellConcreteStrengthGrade;
    }

    @Basic
    @Column(name = "shearwell_size")
    public String getShearwellSize() {
        return shearwellSize;
    }

    public void setShearwellSize(String shearwellSize) {
        this.shearwellSize = shearwellSize;
    }

    @Basic
    @Column(name = "roof_type")
    public String getRoofType() {
        return roofType;
    }

    public void setRoofType(String roofType) {
        this.roofType = roofType;
    }

    @Basic
    @Column(name = "floor_type")
    public String getFloorType() {
        return floorType;
    }

    public void setFloorType(String floorType) {
        this.floorType = floorType;
    }

    @Basic
    @Column(name = "fill_wall_material")
    public String getFillWallMaterial() {
        return fillWallMaterial;
    }

    public void setFillWallMaterial(String fillWallMaterial) {
        this.fillWallMaterial = fillWallMaterial;
    }

    @Basic
    @Column(name = "fill_wall_mortar_type")
    public String getFillWallMortarType() {
        return fillWallMortarType;
    }

    public void setFillWallMortarType(String fillWallMortarType) {
        this.fillWallMortarType = fillWallMortarType;
    }

    @Basic
    @Column(name = "fill_wall_mortar_strength_grade")
    public String getFillWallMortarStrengthGrade() {
        return fillWallMortarStrengthGrade;
    }

    public void setFillWallMortarStrengthGrade(String fillWallMortarStrengthGrade) {
        this.fillWallMortarStrengthGrade = fillWallMortarStrengthGrade;
    }

    @Basic
    @Column(name = "well_thick")
    public Double getWellThick() {
        return wellThick;
    }

    public void setWellThick(Double wellThick) {
        this.wellThick = wellThick;
    }

    @Basic
    @Column(name = "beam_situation")
    public String getBeamSituation() {
        return beamSituation;
    }

    public void setBeamSituation(String beamSituation) {
        this.beamSituation = beamSituation;
    }

    @Basic
    @Column(name = "fill_well_situation")
    public String getFillWellSituation() {
        return fillWellSituation;
    }

    public void setFillWellSituation(String fillWellSituation) {
        this.fillWellSituation = fillWellSituation;
    }

    @Basic
    @Column(name = "base_situation")
    public String getBaseSituation() {
        return baseSituation;
    }

    public void setBaseSituation(String baseSituation) {
        this.baseSituation = baseSituation;
    }

    @Basic
    @Column(name = "building_cost")
    public Double getBuildingCost() {
        return buildingCost;
    }

    public void setBuildingCost(Double buildingCost) {
        this.buildingCost = buildingCost;
    }




    @Basic
    @Column(name = "building_photo")
    public String getBuildingPhoto() {
        return buildingPhoto;
    }

    public void setBuildingPhoto(String buildingPhoto) {
        this.buildingPhoto = buildingPhoto;
    }

    @Basic
    @Column(name = "detail_file")
    public String getDetailFile() {
        return detailFile;
    }

    public void setDetailFile(String detailFile) {
        this.detailFile = detailFile;
    }

    @Basic
    @Column(name = "msg_illustrate")
    public String getMsgIllustrate() {
        return msgIllustrate;
    }

    public void setMsgIllustrate(String msgIllustrate) {
        this.msgIllustrate = msgIllustrate;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "check_user")
    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    @Basic
    @Column(name = "check_opinion")
    public String getCheckOpinion() {
        return checkOpinion;
    }

    public void setCheckOpinion(String checkOpinion) {
        this.checkOpinion = checkOpinion;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "collect_user")
    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "shearwell_thickness")
    public Double getShearwellThickness() {
        return shearwellThickness;
    }

    public void setShearwellThickness(Double shearwellThickness) {
        this.shearwellThickness = shearwellThickness;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwHighStructureEntity that = (FwHighStructureEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(highStructureNum, that.highStructureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAge, that.buildingAge) &&
                Objects.equals(structuralStyle, that.structuralStyle) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(baseType, that.baseType) &&
                Objects.equals(fortifyStandard, that.fortifyStandard) &&
                Objects.equals(naturalVibrationPeriod, that.naturalVibrationPeriod) &&
                Objects.equals(regularLevel, that.regularLevel) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingLength, that.buildingLength) &&
                Objects.equals(buildingWidth, that.buildingWidth) &&
                Objects.equals(floorNum, that.floorNum) &&
                Objects.equals(basementFloorNum, that.basementFloorNum) &&
                Objects.equals(basementStructuralStyle, that.basementStructuralStyle) &&
                Objects.equals(skirtFloorNum, that.skirtFloorNum) &&
                Objects.equals(skirtStructuralStyle, that.skirtStructuralStyle) &&
                Objects.equals(buildingHeight, that.buildingHeight) &&
                Objects.equals(colConcreteStrengthGrade, that.colConcreteStrengthGrade) &&
                Objects.equals(mainColSectionSize, that.mainColSectionSize) &&
                Objects.equals(mainPurlinSectionSize, that.mainPurlinSectionSize) &&
                Objects.equals(maxColSpace, that.maxColSpace) &&
                Objects.equals(maxPurlinSpace, that.maxPurlinSpace) &&
                Objects.equals(maxShearwellSpace, that.maxShearwellSpace) &&
                Objects.equals(shearwellConcreteStrengthGrade, that.shearwellConcreteStrengthGrade) &&
                Objects.equals(shearwellSize, that.shearwellSize) &&
                Objects.equals(roofType, that.roofType) &&
                Objects.equals(floorType, that.floorType) &&
                Objects.equals(fillWallMaterial, that.fillWallMaterial) &&
                Objects.equals(fillWallMortarType, that.fillWallMortarType) &&
                Objects.equals(fillWallMortarStrengthGrade, that.fillWallMortarStrengthGrade) &&
                Objects.equals(wellThick, that.wellThick) &&
                Objects.equals(beamSituation, that.beamSituation) &&
                Objects.equals(fillWellSituation, that.fillWellSituation) &&
                Objects.equals(baseSituation, that.baseSituation) &&
                Objects.equals(buildingCost, that.buildingCost) &&
                Objects.equals(buildingPhoto, that.buildingPhoto) &&
                Objects.equals(detailFile, that.detailFile) &&
                Objects.equals(msgIllustrate, that.msgIllustrate) &&
                Objects.equals(status, that.status) &&
                Objects.equals(checkUser, that.checkUser) &&
                Objects.equals(checkOpinion, that.checkOpinion) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(collectUser, that.collectUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(shearwellThickness, that.shearwellThickness);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, highStructureNum, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, buildingName, buildingAge, structuralStyle, siteType, baseType, fortifyStandard, naturalVibrationPeriod, regularLevel, buildingArea, buildingLength, buildingWidth, floorNum, basementFloorNum, basementStructuralStyle, skirtFloorNum, skirtStructuralStyle, buildingHeight, colConcreteStrengthGrade, mainColSectionSize, mainPurlinSectionSize, maxColSpace, maxPurlinSpace, maxShearwellSpace, shearwellConcreteStrengthGrade, shearwellSize, roofType, floorType, fillWallMaterial, fillWallMortarType, fillWallMortarStrengthGrade, wellThick, beamSituation, fillWellSituation, baseSituation, buildingCost, buildingPhoto, detailFile, msgIllustrate, status, checkUser, checkOpinion, createUser, collectUser, createTime, updateUser, updateTime, delFlag, taskId, taskName, shearwellThickness);
    }
}
